package com.jdd.modules.parking.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jdd.common.util.excel.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * @Description: 停车场计费规则信息表
 * @Author: jdd
 * @Date: 2021-02-18
 * @Version: V1.0
 */
@Data
@TableName("config_park_charge")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "config_park_charge对象", description = "停车场计费规则信息表")
public class ConfigParkCharge {

    /**
     * 主键
     */
    @TableId(type = IdType.ID_WORKER_STR)
    @ApiModelProperty(value = "主键")
    private String id;
    /**
     * 停车场编码
     */
    @Excel(name = "停车场编码", width = 15)
    @ApiModelProperty(value = "停车场编码")
    private String parkCode;
    /**
     * 停车场名称
     */
    @Excel(name = "停车场名称", width = 15)
    @ApiModelProperty(value = "停车场名称")
    private String parkName;
    /**
     * 车辆类型id
     */
    @Excel(name = "车辆类型id", width = 15)
    @ApiModelProperty(value = "车辆类型id")
    private String carTypeId;
    /**
     * 车辆类型默认名称
     */
    @Excel(name = "车辆类型默认名称", width = 15)
    @ApiModelProperty(value = "车辆类型默认名称")
    private String defaultName;
    /**
     * 计费规则类型（0:时间增量,1:时间段）
     */
    @Excel(name = "计费规则类型（0:时间增量,1:时间段）", width = 15)
    @ApiModelProperty(value = "计费规则类型（0:时间增量,1:时间段）")
    private String ratesType;
    /**
     * 免费时间状态（N:未启用,Y:已启用）
     */
    @Excel(name = "免费时间状态（N:未启用,Y:已启用）", width = 15)
    @ApiModelProperty(value = "免费时间状态（N:未启用,Y:已启用）")
    private String freeTimeStatus;
    /**
     * 白天计时余数计算方式（N：不计算，Y：白天计时数加1）
     */
    @Excel(name = "白天计时余数计算方式（N：不计算，Y：白天计时数加1）", width = 15)
    @ApiModelProperty(value = "白天计时余数计算方式（N：不计算，Y：白天计时数加1）")
    private String dayTimeRemainderMode;
    /**
     * 夜晚计时余数计算方式（N：不计算，Y：白天计时数加1）
     */
    @Excel(name = "夜晚计时余数计算方式（N：不计算，Y：夜晚计时数加1）", width = 15)
    @ApiModelProperty(value = "夜晚计时余数计算方式（N：不计算，Y：夜晚计时数加1）")
    private String nightTimeRemainderMode;
    /**
     * 首计时单位收费金额（单位分）
     */
    @Excel(name = "首计时单位收费金额（单位分）", width = 15)
    @ApiModelProperty(value = "首计时单位收费金额（单位分）")
    private Integer firstMoney;
    /**
     * 首计时单位（分钟）
     */
    @Excel(name = "首计时单位（分钟）", width = 15)
    @ApiModelProperty(value = "首计时单位（分钟）")
    private Integer firstUnit;
    /**
     * 每计时单位收费金额（单位分）
     */
    @Excel(name = "每计时单位收费金额（单位分）", width = 15)
    @ApiModelProperty(value = "每计时单位收费金额（单位分）")
    private Integer moneyUnit;
    /**
     * 每计时单位（分钟）
     */
    @Excel(name = "每计时单位（分钟）", width = 15)
    @ApiModelProperty(value = "每计时单位（分钟）")
    private Integer timeUnit;
    /**
     * 免费时间（单位分钟）
     */
    @Excel(name = "免费时间（单位分钟）", width = 15)
    @ApiModelProperty(value = "免费时间（单位分钟）")
    private Integer freeTime;
    /**
     * 每天最高限额(单位分)
     */
    @Excel(name = "每天最高限额(单位分)", width = 15)
    @ApiModelProperty(value = "每天最高限额(单位分)")
    private Integer dayMoneyLimit;
    /**
     * 启用状态（0：未启用，1：已启用）
     */
    @Excel(name = "启用状态（0：未启用，1：已启用）", width = 15)
    @ApiModelProperty(value = "启用状态（0：未启用，1：已启用）")
    private String status;
    /**
     * 区间白天开始小时
     */
    @Excel(name = "区间白天开始小时", width = 15)
    @ApiModelProperty(value = "区间白天开始小时")
    private Integer dayRegionStartHour;
    /**
     * 区间夜间开始小时
     */
    @Excel(name = "区间夜间开始小时", width = 15)
    @ApiModelProperty(value = "区间夜间开始小时")
    private Integer nightRegionStartHour;
    /**
     * 区间白天开始分钟
     */
    @Excel(name = "区间白天开始分钟", width = 15)
    @ApiModelProperty(value = "区间白天开始分钟")
    private Integer dayRegionStartMin;
    /**
     * 区间夜间开始分钟
     */
    @Excel(name = "区间夜间开始分钟", width = 15)
    @ApiModelProperty(value = "区间夜间开始分钟")
    private Integer nightRegionStartMin;
    /**
     * 区间白天计时单位小时
     */
    @Excel(name = "区间白天计时单位小时", width = 15)
    @ApiModelProperty(value = "区间白天计时单位小时")
    private Integer dayRegionUnitHour;
    /**
     * 区间夜晚计时单位小时
     */
    @Excel(name = "区间夜晚计时单位小时", width = 15)
    @ApiModelProperty(value = "区间夜晚计时单位小时")
    private Integer nightRegionUnitHour;
    /**
     * 区间白天计时单位分钟
     */
    @Excel(name = "区间白天计时单位分钟", width = 15)
    @ApiModelProperty(value = "区间白天计时单位分钟")
    private Integer dayRegionUnitMin;
    /**
     * 区间夜晚计时单位分钟
     */
    @Excel(name = "区间夜晚计时单位分钟", width = 15)
    @ApiModelProperty(value = "区间夜晚计时单位分钟")
    private Integer nightRegionUnitMin;
    /**
     * 区间白天每计时单位收费额(分)
     */
    @Excel(name = "区间白天每计时单位收费额(分)", width = 15)
    @ApiModelProperty(value = "区间白天每计时单位收费额(分)")
    private Integer dayRegionUnitPrice;
    /**
     * 区间夜间每计时单位收费额(分)
     */
    @Excel(name = "区间夜间每计时单位收费额(分)", width = 15)
    @ApiModelProperty(value = "区间夜间每计时单位收费额(分)")
    private Integer nightRegionUnitPrice;
    /**
     * 区间白天最高收费额
     */
    @Excel(name = "区间白天最高收费额", width = 15)
    @ApiModelProperty(value = "区间白天最高收费额")
    private Integer dayRegionMaxPrice;
    /**
     * 区间夜间最高收费额
     */
    @Excel(name = "区间夜间最高收费额", width = 15)
    @ApiModelProperty(value = "区间夜间最高收费额")
    private Integer nightRegionMaxPrice;
    /**
     * 区间白天最低收费额
     */
    @Excel(name = "区间白天最低收费额", width = 15)
    @ApiModelProperty(value = "区间白天最低收费额")
    private Integer dayRegionMinPrice;
    /**
     * 区间夜间最低收费额
     */
    @Excel(name = "区间夜间最低收费额", width = 15)
    @ApiModelProperty(value = "区间夜间最低收费额")
    private Integer nightRegionMinPrice;
    /**
     * 区间白天首计时收费额
     */
    @Excel(name = "区间白天首计时收费额", width = 15)
    @ApiModelProperty(value = "区间白天首计时收费额")
    private Integer dayRegionFirstPrice;
    /**
     * 区间夜间首计时收费额
     */
    @Excel(name = "区间夜间首计时收费额", width = 15)
    @ApiModelProperty(value = "区间夜间首计时收费额")
    private Integer nightRegionFirstPrice;
    /**
     * 区间白天首计时单位小时
     */
    @Excel(name = "区间白天首计时单位小时", width = 15)
    @ApiModelProperty(value = "区间白天首计时单位小时")
    private Integer dayRegionFirstUnitHour;
    /**
     * 区间夜间首计时单位小时
     */
    @Excel(name = "区间夜间首计时单位小时", width = 15)
    @ApiModelProperty(value = "区间夜间首计时单位小时")
    private Integer nightRegionFirstUnitHour;
    /**
     * 区间白天首计时单位分钟
     */
    @Excel(name = "区间白天首计时单位分钟", width = 15)
    @ApiModelProperty(value = "区间白天首计时单位分钟")
    private Integer dayRegionFirstUnitMin;
    /**
     * 区间夜间首计时单位分钟
     */
    @Excel(name = "区间夜间首计时单位分钟", width = 15)
    @ApiModelProperty(value = "区间夜间首计时单位分钟")
    private Integer nightRegionFirstUnitMin;
    /**
     * 创建人
     */
    @Excel(name = "创建人", width = 15)
    @ApiModelProperty(value = "创建人")
    private String createUser;
    /**
     * 创建时间
     */
    @Excel(name = "创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    /**
     * 修改时间
     */
    @Excel(name = "修改时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "修改时间")
    private Date updateTime;
}
